---
title: SAIF.Application.Claim.Legal database tables
summary: Database tables used by this library with relationships and usage context.
status: draft
owner: SAIF Documentation Generator
last_reviewed: 2026-08-21
library: SAIF.Application.Claim.Legal
reference_type: embedded
---

# SAIF.Application.Claim.Legal database tables

This page catalogs database tables accessed by this library.

## Table catalog
| Table | Database | Schema/Link | CRUD | Purpose | Primary business object |
| --- | --- | --- | --- | --- | --- |
| [ADP_EMPLOYEE](#adp_employee) | Oracle | [unqualified]** | R | Attorney conflicts, policy/worker assignments, schedules, time-off, out-of-town rotations; AJAX + XML reports | clsAttorneyTableManager |
| [APPEAL](#appeal) | Oracle | [unqualified]** | R | Case outcomes and case closure | clsOutcomeManager |
| [ATTORNEY_PROFILE](#attorney_profile) | Oracle | [unqualified]** | R | Attorney conflicts, policy/worker assignments, schedules, time-off, out-of-town rotations; AJAX + XML reports | clsAttorneyTableManager, clsSummaryManager |
| [CASE_STATUS_CODE](#case_status_code) | Oracle | [unqualified]** | R | Case updates | clsUpdateCaseManager |
| [DUAL](#dual) | Oracle | N/A — Oracle pseudo-table | R | Other parties on a case | clsOtherPartiesManager, clsOutcomeManager, clsScheduleManager |
| [HEARING_LOCATION_CODE](#hearing_location_code) | Oracle | [unqualified]** | R | Attorney conflicts, policy/worker assignments, schedules, time-off, out-of-town rotations; AJAX + XML reports | clsAttorneyTableManager, clsHearingLocationManager |
| [LEGAL_CODE_TABLE](#legal_code_table) | Oracle | [unqualified]** | R | Attorney conflicts, policy/worker assignments, schedules, time-off, out-of-town rotations; AJAX + XML reports | clsAttorneyTableManager, clsLegalPersonManager |
| [LEGAL_PERSON](#legal_person) | Oracle | [unqualified]** | R | Attorney conflicts, policy/worker assignments, schedules, time-off, out-of-town rotations; AJAX + XML reports | clsAttorneyTableManager, clsOtherPartiesManager, clsUpdateCaseManager (dead) |
| [LEGAL_PERSON_TYPE](#legal_person_type) | Oracle | [unqualified]** | R | Attorney conflicts, policy/worker assignments, schedules, time-off, out-of-town rotations; AJAX + XML reports | clsAttorneyTableManager, clsOtherPartiesManager, clsUpdateCaseManager (dead) |
| [LEGAL_PERSON_TYPE_CODE](#legal_person_type_code) | Oracle | [unqualified]** | R | Legal person, legal person type, and other-firm maintenance | clsLegalPersonManager |
| [OTHER_FIRM](#other_firm) | Oracle | [unqualified]** | R | Other parties on a case | clsOtherPartiesManager, clsUpdateCaseManager (dead) |
| [OTHER_FIRM_TYPE_CODE](#other_firm_type_code) | Oracle | [unqualified]** | R | Legal person, legal person type, and other-firm maintenance | clsLegalPersonManager |
| [POLICY](#policy) | Oracle | [unqualified]** | R | Attorney conflicts, policy/worker assignments, schedules, time-off, out-of-town rotations; AJAX + XML reports | clsAttorneyTableManager |
| [REVIEW_LEVEL_CODE](#review_level_code) | Oracle | [unqualified]** | R | Case outcomes and case closure | clsOutcomeManager |


## ADP_EMPLOYEE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | [unqualified]** |
| **Purpose** | Attorney conflicts, policy/worker assignments, schedules, time-off, out-of-town rotations; AJAX + XML reports |
| **Access pattern** | direct SQL |
| **CRUD operations** | R |
| **Key columns used** | EMPLID, LAST_NAME, FIRST_NAME, PREFERRED_NAME, EMPL_STATUS, DESCR |
| **Sequence** | N/A |
| **Related tables** | ATTORNEY_PROFILE |
| **Business objects** | clsAttorneyTableManager |

### SQL referencing this table
- [SQL-002: Adjuster code list](sql/SQL-002-adjuster-code-list.md)
- [SQL-004: SAIF attorney code list](sql/SQL-004-attorney-code-list.md)

---

## APPEAL

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | [unqualified]** |
| **Purpose** | Case outcomes and case closure |
| **Access pattern** | direct SQL |
| **CRUD operations** | R |
| **Key columns used** | APPEAL_SEQ_NUM, APPEAL_NUM, REVIEW_LEVEL_CODE, LEGAL_CASE_SEQ_NUM |
| **Sequence** | N/A |
| **Related tables** | LEGAL_CASE (external to this library), REVIEW_LEVEL_CODE |
| **Business objects** | clsOutcomeManager |

### SQL referencing this table
- [SQL-016: Appeal number / review level list for a case](sql/SQL-016-appeal-review-level-list.md)

---

## ATTORNEY_PROFILE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | [unqualified]** |
| **Purpose** | Attorney conflicts, policy/worker assignments, schedules, time-off, out-of-town rotations; AJAX + XML reports |
| **Access pattern** | direct SQL |
| **CRUD operations** | R |
| **Key columns used** | PROFILE_EMPLID, SECRETARY_EMPLID |
| **Sequence** | N/A |
| **Related tables** | ADP_EMPLOYEE, ADP_EMPLOYEE (secretary) |
| **Business objects** | clsAttorneyTableManager, clsSummaryManager |

### SQL referencing this table
- [SQL-004: SAIF attorney code list](sql/SQL-004-attorney-code-list.md)
- [SQL-018: Legal secretary employee ID for an attorney](sql/SQL-018-legal-secretary-employee-id.md)

---

## CASE_STATUS_CODE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | [unqualified]** |
| **Purpose** | Case updates |
| **Access pattern** | direct SQL |
| **CRUD operations** | R |
| **Key columns used** | CODE, CODE_DESCR |
| **Sequence** | N/A |
| **Related tables** | LEGAL_CASE (external) |
| **Business objects** | clsUpdateCaseManager |

### SQL referencing this table
- [SQL-019: Allowed case status codes for the current case](sql/SQL-019-allowed-case-status-list.md)

---

## DUAL

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | N/A — Oracle pseudo-table |
| **Purpose** | Other parties on a case |
| **Access pattern** | direct SQL |
| **CRUD operations** | R |
| **Key columns used** | N/A |
| **Sequence** | N/A |
| **Related tables** | N/A |
| **Business objects** | clsOtherPartiesManager, clsOutcomeManager, clsScheduleManager |

### SQL referencing this table
- [SQL-013: Opposing/outside attorney firm list](sql/SQL-013-outside-attorney-firm-list.md)
- [SQL-014: Opposing/outside attorney person list](sql/SQL-014-outside-attorney-person-list.md)
- [SQL-015: Employer / insurer firm list](sql/SQL-015-employer-insurer-firm-list.md)
- [SQL-016: Appeal number / review level list for a case](sql/SQL-016-appeal-review-level-list.md)
- [SQL-017: Assigned attorney's manager email](sql/SQL-017-attorney-manager-email.md)

---

## HEARING_LOCATION_CODE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | [unqualified]** |
| **Purpose** | Attorney conflicts, policy/worker assignments, schedules, time-off, out-of-town rotations; AJAX + XML reports |
| **Access pattern** | direct SQL |
| **CRUD operations** | R |
| **Key columns used** | CODE, CODE_DESCR |
| **Sequence** | N/A |
| **Related tables** | N/A |
| **Business objects** | clsAttorneyTableManager, clsHearingLocationManager |

### SQL referencing this table
- [SQL-005: Hearing location code list](sql/SQL-005-hearing-location-code-list-attorney-tables.md)
- [SQL-008: Hearing location code list](sql/SQL-008-hearing-location-code-list-location-maintenance.md)

---

## LEGAL_CODE_TABLE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | [unqualified]** |
| **Purpose** | Attorney conflicts, policy/worker assignments, schedules, time-off, out-of-town rotations; AJAX + XML reports |
| **Access pattern** | direct SQL |
| **CRUD operations** | R |
| **Key columns used** | TABLE_NAME, TABLE_MAINT_WIN_NAME |
| **Sequence** | N/A |
| **Related tables** | (maintenance-window registry) |
| **Business objects** | clsAttorneyTableManager, clsLegalPersonManager |

### SQL referencing this table
- [SQL-007: Attorney-assignment maintenance table list](sql/SQL-007-attorney-assignment-table-list.md)
- [SQL-011: Person-maintenance view code list](sql/SQL-011-person-maintenance-view-list.md)

---

## LEGAL_PERSON

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | [unqualified]** |
| **Purpose** | Attorney conflicts, policy/worker assignments, schedules, time-off, out-of-town rotations; AJAX + XML reports |
| **Access pattern** | direct SQL |
| **CRUD operations** | R |
| **Key columns used** | LEGAL_PERSON_SEQ_NUM, LAST_NAME, FIRST_NAME, PREFERRED_NAME |
| **Sequence** | N/A |
| **Related tables** | LEGAL_PERSON_TYPE |
| **Business objects** | clsAttorneyTableManager, clsOtherPartiesManager, clsUpdateCaseManager (dead) |

### SQL referencing this table
- [SQL-003: ALJ / Board / FJ person list](sql/SQL-003-alj-board-fj-person-list.md)
- [SQL-012: Legal person type code list](sql/SQL-012-legal-person-type-code-list.md)
- [SQL-014: Opposing/outside attorney person list](sql/SQL-014-outside-attorney-person-list.md)

---

## LEGAL_PERSON_TYPE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | [unqualified]** |
| **Purpose** | Attorney conflicts, policy/worker assignments, schedules, time-off, out-of-town rotations; AJAX + XML reports |
| **Access pattern** | direct SQL |
| **CRUD operations** | R |
| **Key columns used** | LEGAL_PERSON_SEQ_NUM, LEGAL_PERSON_TYPE_CODE, EXP_DATE |
| **Sequence** | N/A |
| **Related tables** | LEGAL_PERSON, LEGAL_PERSON_TYPE_CODE |
| **Business objects** | clsAttorneyTableManager, clsOtherPartiesManager, clsUpdateCaseManager (dead) |

### SQL referencing this table
- [SQL-003: ALJ / Board / FJ person list](sql/SQL-003-alj-board-fj-person-list.md)
- [SQL-012: Legal person type code list](sql/SQL-012-legal-person-type-code-list.md)
- [SQL-014: Opposing/outside attorney person list](sql/SQL-014-outside-attorney-person-list.md)

---

## LEGAL_PERSON_TYPE_CODE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | [unqualified]** |
| **Purpose** | Legal person, legal person type, and other-firm maintenance |
| **Access pattern** | direct SQL |
| **CRUD operations** | R |
| **Key columns used** | CODE, CODE_DESCR |
| **Sequence** | N/A |
| **Related tables** | LEGAL_PERSON_TYPE |
| **Business objects** | clsLegalPersonManager |

### SQL referencing this table
- [SQL-012: Legal person type code list](sql/SQL-012-legal-person-type-code-list.md)

---

## OTHER_FIRM

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | [unqualified]** |
| **Purpose** | Other parties on a case |
| **Access pattern** | direct SQL |
| **CRUD operations** | R |
| **Key columns used** | OTHER_FIRM_SEQ_NUM, FIRM_NAME, OTHER_FIRM_TYPE_CODE |
| **Sequence** | N/A |
| **Related tables** | OTHER_FIRM_TYPE_CODE |
| **Business objects** | clsOtherPartiesManager, clsUpdateCaseManager (dead) |

### SQL referencing this table
- [SQL-010: Other-firm type code list](sql/SQL-010-other-firm-type-code-list.md)
- [SQL-013: Opposing/outside attorney firm list](sql/SQL-013-outside-attorney-firm-list.md)
- [SQL-015: Employer / insurer firm list](sql/SQL-015-employer-insurer-firm-list.md)

---

## OTHER_FIRM_TYPE_CODE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | [unqualified]** |
| **Purpose** | Legal person, legal person type, and other-firm maintenance |
| **Access pattern** | direct SQL |
| **CRUD operations** | R |
| **Key columns used** | CODE, CODE_DESCR |
| **Sequence** | N/A |
| **Related tables** | OTHER_FIRM |
| **Business objects** | clsLegalPersonManager |

### SQL referencing this table
- [SQL-010: Other-firm type code list](sql/SQL-010-other-firm-type-code-list.md)

---

## POLICY

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | [unqualified]** |
| **Purpose** | Attorney conflicts, policy/worker assignments, schedules, time-off, out-of-town rotations; AJAX + XML reports |
| **Access pattern** | direct SQL |
| **CRUD operations** | R |
| **Key columns used** | POLICY_NUM, POLICY_NAME |
| **Sequence** | N/A |
| **Related tables** | N/A |
| **Business objects** | clsAttorneyTableManager |

### SQL referencing this table
- [SQL-006: Policy name code list](sql/SQL-006-policy-name-code-list.md)

---

## REVIEW_LEVEL_CODE

| Field | Value |
| --- | --- |
| **Database** | Oracle |
| **Schema/Link** | [unqualified]** |
| **Purpose** | Case outcomes and case closure |
| **Access pattern** | direct SQL |
| **CRUD operations** | R |
| **Key columns used** | CODE, CODE_DESCR |
| **Sequence** | N/A |
| **Related tables** | APPEAL |
| **Business objects** | clsOutcomeManager |

### SQL referencing this table
- [SQL-016: Appeal number / review level list for a case](sql/SQL-016-appeal-review-level-list.md)

---

## Table relationship diagram

The following diagram shows the table relationships identified from the library SQL.

```mermaid
erDiagram
    LEGAL_PERSON ||--o{ LEGAL_PERSON_TYPE : "LEGAL_PERSON.LEGAL_PERSON_SEQ_NUM = LEGAL_PERSON_TYPE.LEGAL_PERSON_SEQ_NUM"
    ADP_EMPLOYEE ||--o{ ATTORNEY_PROFILE : "ADP_EMPLOYEE.EMPLID = ATTORNEY_PROFILE.PROFILE_EMPLID"
    REVIEW_LEVEL_CODE ||--o{ APPEAL : "APPEAL.REVIEW_LEVEL_CODE = REVIEW_LEVEL_CODE.CODE (LEFT OUTER JOIN)"
    LEGAL_CASE (external to this library) ||--o{ APPEAL : "APPEAL.LEGAL_CASE_SEQ_NUM = <current case id>"
    ATTORNEY_PROFILE ||--o{ ADP_EMPLOYEE (secretary) : "ATTORNEY_PROFILE.SECRETARY_EMPLID → ADP_EMPLOYEE.EMPLID"
    OTHER_FIRM_TYPE_CODE ||--o{ OTHER_FIRM : "OTHER_FIRM.OTHER_FIRM_TYPE_CODE = OTHER_FIRM_TYPE_CODE.CODE"
    LEGAL_PERSON_TYPE_CODE ||--o{ LEGAL_PERSON_TYPE : "LEGAL_PERSON_TYPE.LEGAL_PERSON_TYPE_CODE = LEGAL_PERSON_TYPE_CODE.CODE"
    CASE_STATUS_CODE ||--o{ LEGAL_CASE (external) : "LEGAL_CASE.CASE_STATUS_CODE = CASE_STATUS_CODE.CODE"
    LEGAL_CODE_TABLE ||--o{ (maintenance-window registry) : "TABLE_MAINT_WIN_NAME → screen name literal ('AttorneyAssignment', 'PersonMaint')"
```

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [Configuration](configuration.md)
- [SQL catalog](sql/index.md)
- [Procedures](procedures/index.md)
- [API reference](api/index.md)

> **Note:** Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- SAIF.Application.Claim.Legal\LegalManagerBase.vb
- SAIF.Application.Claim.Legal\clsAttorneyTableManager.vb
- SAIF.Application.Claim.Legal\clsHearingLocationManager.vb
- SAIF.Application.Claim.Legal\clsLegalPersonManager.vb
- SAIF.Application.Claim.Legal\LegalNet\clsOtherPartiesManager.vb
- SAIF.Application.Claim.Legal\LegalNet\clsOutcomeManager.vb
- SAIF.Application.Claim.Legal\LegalNet\clsScheduleManager.vb
- SAIF.Application.Claim.Legal\LegalNet\clsSummaryManager.vb
- SAIF.Application.Claim.Legal\LegalNet\clsUpdateCaseManager.vb

